package com.tebiecloud.yunst.client.service;

import com.tebiecloud.common.model.ResultBody;
import com.tebiecloud.yunst.client.model.entity.YunStUser;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;

/**
 * 云商通用户接口
 */
public interface IYunStUserServiceClient {

    @PostMapping("/feign/yunstuser/create")
    ResultBody create();

    /**
     * 实名接口
     * @param bizUserId
     * @param name
     * @param identityNo
     * @return
     */
    @PostMapping("/feign/yunstuser/realName")
    ResultBody realName(
            @RequestParam(value = "bizUserId") String bizUserId,
            @RequestParam(value = "name") String name,
            @RequestParam(value = "identityNo") String identityNo);

    /**
     * 绑定标识
     * @param bizUserId
     * @param acctType
     * @param acct
     * @return
     */
    @GetMapping("/feign/yunstuser/applyBindAcct")
    ResultBody applyBindAcct(
            @RequestParam(value = "bizUserId") String bizUserId,
            @RequestParam(value = "acctType") String acctType,
            @RequestParam(value = "acct") String acct);

    /**
     * 签约接口
     * @param bizUserId
     * @return
     */
    @PostMapping("/feign/yunstuser/signContract")
    ResultBody signContract(
            @RequestParam(value = "bizUserId") String bizUserId);

    /**
     * 绑定手机发送验证码
     * @param bizUserId
     * @param phone
     * @return
     */
    @PostMapping("/feign/yunstuser/sendVerificationCode")
    ResultBody sendVerificationCode(
            @RequestParam(value = "bizUserId") String bizUserId,
            @RequestParam(value = "phone") String phone);

    /**
     * 绑定手机号码
     * @param bizUserId
     * @param phone
     * @param verificationCode
     * @return
     */
    @PostMapping("/feign/yunstuser/bindPhone")
    ResultBody bindPhone(@RequestParam(value = "bizUserId") String bizUserId,
                         @RequestParam(value = "phone") String phone,
                         @RequestParam(value = "bizUserId") String verificationCode);
}
